/**
 * admin_biz_config.js
 * 管理员业务模块配置入口 - 分包内导出
 */

// 内联实现AdminBiz必要功能
const cacheHelper = require('../../helpers/cache_helper.js');
const pageHelper = require('../../helpers/page_helper.js');
const cloudHelper = require('../../helpers/cloud_helper.js');
const constants = {
  CACHE_ADMIN: 'ADMIN_TOKEN',
  ADMIN_TOKEN_EXPIRE: 86400 * 3 // 3天有效期
};

// 内联实现必要的AdminBiz功能
const AdminBiz = {
  // 管理员登录
  async adminLogin(that, name, pwd) {
    if (name.length < 5 || name.length > 30) {
      wx.showToast({
        title: '账号输入错误(5-30位)',
        icon: 'none'
      });
      return false;
    }

    if (pwd.length < 5 || pwd.length > 30) {
      wx.showToast({
        title: '密码输入错误(5-30位)',
        icon: 'none'
      });
      return false;
    }

    let params = {
      name,
      pwd
    };
    let opt = {
      title: '登录中'
    };

    try {
      const res = await cloudHelper.callCloudSumbit('admin/login', params, opt);
      if (res && res.data && res.data.name) {
        cacheHelper.set(constants.CACHE_ADMIN, res.data, constants.ADMIN_TOKEN_EXPIRE);
        return true;
      }
      return false;
    } catch (e) {
      console.log(e);
      return false;
    }
  },

  // 清空管理员登录
  clearAdminToken() {
    cacheHelper.remove(constants.CACHE_ADMIN);
  },

  // 获取管理员信息
  getAdminToken() {
    return cacheHelper.get(constants.CACHE_ADMIN);
  },

  // 获取管理员名称
  getAdminName() {
    let admin = cacheHelper.get(constants.CACHE_ADMIN);
    if (!admin) return '';
    return admin.name;
  },

  // 是否超级管理员
  isSuperAdmin() {
    let admin = cacheHelper.get(constants.CACHE_ADMIN);
    if (!admin) return false;
    return (admin.type == 1);
  }
};

module.exports = AdminBiz; 